fix missing call to g_type_class_unref in case of error. (#517563)
authorMarc-Andre Lureau <marcandre.lureau@gmail.com>
Wed, 20 Feb 2008 18:32:43 +0000 (18:32 +0000)
committerMarc-Andre Lureau <malureau@src.gnome.org>
Wed, 20 Feb 2008 18:32:43 +0000 (18:32 +0000)
2008-02-20  Marc-Andre Lureau  <marcandre.lureau@gmail.com>

        * gtk/gtkbuilder.c (_gtk_builder_enum_from_string): fix missing
        call to g_type_class_unref in case of error. (#517563)

svn path=/trunk/; revision=19619

ChangeLog
gtk/gtkbuilder.c

index b52809feb079d0e5219222a8cb54500e0a9366da..3914cf4b4fd511d34706a7adfbe9f8c277e97d78 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-02-20  Marc-Andre Lureau  <marcandre.lureau@gmail.com>
+
+       * gtk/gtkbuilder.c (_gtk_builder_enum_from_string): fix missing
+       call to g_type_class_unref in case of error. (#517563)
+
 2008-02-18  Sven Neumann  <sven@gimp.org>
 
        * gtk/Makefile.am (STOCK_ICONS)
index 87c42f60d4f5a7d68f810fc4019e572912e1824f..5e347c53538046a919363174dcafb24fda3f63af 100644 (file)
@@ -1265,10 +1265,13 @@ _gtk_builder_enum_from_string (GType         type,
   GEnumValue *ev;
   gchar *endptr;
   gint value;
+  gboolean ret;
   
-  g_return_val_if_fail (G_TYPE_IS_ENUM (type), 0);
-  g_return_val_if_fail (string != NULL, 0);
+  g_return_val_if_fail (G_TYPE_IS_ENUM (type), FALSE);
+  g_return_val_if_fail (string != NULL, FALSE);
   
+  ret = TRUE;
+
   value = strtoul (string, &endptr, 0);
   if (endptr != string) /* parsed a number */
     *enum_value = value;
@@ -1288,13 +1291,13 @@ _gtk_builder_enum_from_string (GType         type,
                       GTK_BUILDER_ERROR_INVALID_VALUE,
                       "Could not parse enum: `%s'",
                       string);
-         return FALSE;
+         ret = FALSE;
        }
       
       g_type_class_unref (eclass);
     }
   
-  return TRUE;
+  return ret;
 }
 
 gboolean
@@ -1305,15 +1308,15 @@ _gtk_builder_flags_from_string (GType         type,
 {
   GFlagsClass *fclass;
   gchar *endptr, *prevptr;
-  guint i, j, ret, value;
+  guint i, j, value;
   gchar *flagstr;
   GFlagsValue *fv;
   const gchar *flag;
   gunichar ch;
-  gboolean eos;
+  gboolean eos, ret;
 
-  g_return_val_if_fail (G_TYPE_IS_FLAGS (type), 0);
-  g_return_val_if_fail (string != 0, 0);
+  g_return_val_if_fail (G_TYPE_IS_FLAGS (type), FALSE);
+  g_return_val_if_fail (string != 0, FALSE);
 
   ret = TRUE;